/**
 * 
 */
package sv.gob.mh.dgii.model;

import java.io.Serializable;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * @author melvin.henriquez
 * 
 */
@Entity
@Table(name = "DV_AUT_DEV_REN_MONTOS", schema = "DEVOLUCIONES")
public class DvAutDevRenMontos implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 5157349514262060728L;
	private DvAutDevRenMontosId id;
	private Double monto;
	private String folio;
	private String preEscrito;
	private DvAutorizacionDevRenta dvAutorizacionDevRenta;

	public DvAutDevRenMontos() {
		// TODO Auto-generated constructor stub
	}

	public DvAutDevRenMontos(DvAutDevRenMontosId id, Double monto, String folio,
			DvAutorizacionDevRenta dvAutorizacionDevRenta) {
		this.id = id;
		this.monto = monto;
		this.folio = folio;
		this.dvAutorizacionDevRenta = dvAutorizacionDevRenta;
	}

	/**
	 * @return the id
	 */
	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "id", column = @Column(name = "ID", nullable = false, precision = 18, scale = 0)),
			@AttributeOverride(name = "tipoMonto", column = @Column(name = "TIPO_MONTO", nullable = false, length = 1)) })
	public DvAutDevRenMontosId getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(DvAutDevRenMontosId id) {
		this.id = id;
	}

	/**
	 * @return the monto
	 */
	@Column(name = "MONTO", nullable = false, precision = 20, scale = 3)
	public Double getMonto() {
		return monto;
	}

	/**
	 * @param monto
	 *            the monto to set
	 */
	public void setMonto(Double monto) {
		this.monto = monto;
	}

	/**
	 * @return the folio
	 */
	@Column(name = "FOLIO", length = 20)
	public String getFolio() {
		return folio;
	}

	/**
	 * @param folio
	 *            the folio to set
	 */
	public void setFolio(String folio) {
		this.folio = folio;
	}

	/**
	 * @return the preEscrito
	 */
	@Column(insertable = true, name = "PRE_ESCRITO", length = 1, updatable = true)
	public String getPreEscrito() {
		return preEscrito;
	}

	/**
	 * @param preEscrito
	 *            the preEscrito to set
	 */
	public void setPreEscrito(String preEscrito) {
		this.preEscrito = preEscrito;
	}

	/**
	 * @return the dvAutorizacionDevRenta
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID", nullable = false, insertable = false, updatable = false)
	public DvAutorizacionDevRenta getDvAutorizacionDevRenta() {
		return dvAutorizacionDevRenta;
	}

	/**
	 * @param dvAutorizacionDevRenta
	 *            the dvAutorizacionDevRenta to set
	 */
	public void setDvAutorizacionDevRenta(DvAutorizacionDevRenta dvAutorizacionDevRenta) {
		this.dvAutorizacionDevRenta = dvAutorizacionDevRenta;
	}

}
